package com.ruoyi.book.mapper;

import java.util.List;
import com.ruoyi.book.domain.BookInstitutionInfo;
import com.ruoyi.book.domain.BookCommissionUsers;

/**
 * 机构信息Mapper接口
 * 
 * @author hd
 * @date 2025-03-31
 */
public interface BookInstitutionInfoMapper 
{
    /**
     * 查询机构信息
     * 
     * @param institutionId 机构信息主键
     * @return 机构信息
     */
    public BookInstitutionInfo selectBookInstitutionInfoByInstitutionId(Long institutionId);

    /**
     * 查询机构信息列表
     * 
     * @param bookInstitutionInfo 机构信息
     * @return 机构信息集合
     */
    public List<BookInstitutionInfo> selectBookInstitutionInfoList(BookInstitutionInfo bookInstitutionInfo);

    /**
     * 新增机构信息
     * 
     * @param bookInstitutionInfo 机构信息
     * @return 结果
     */
    public int insertBookInstitutionInfo(BookInstitutionInfo bookInstitutionInfo);

    /**
     * 修改机构信息
     * 
     * @param bookInstitutionInfo 机构信息
     * @return 结果
     */
    public int updateBookInstitutionInfo(BookInstitutionInfo bookInstitutionInfo);

    /**
     * 删除机构信息
     * 
     * @param institutionId 机构信息主键
     * @return 结果
     */
    public int deleteBookInstitutionInfoByInstitutionId(Long institutionId);

    /**
     * 批量删除机构信息
     * 
     * @param institutionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBookInstitutionInfoByInstitutionIds(Long[] institutionIds);

    /**
     * 批量删除图书委托用户
     * 
     * @param institutionIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBookCommissionUsersByInstitutionIds(Long[] institutionIds);
    
    /**
     * 批量新增图书委托用户
     * 
     * @param bookCommissionUsersList 图书委托用户列表
     * @return 结果
     */
    public int batchBookCommissionUsers(List<BookCommissionUsers> bookCommissionUsersList);
    

    /**
     * 通过机构信息主键删除图书委托用户信息
     * 
     * @param institutionId 机构信息ID
     * @return 结果
     */
    public int deleteBookCommissionUsersByInstitutionId(Long institutionId);
}
